﻿// ===============================================================================
// Project Name        :	Weisenz.Core
// Project Description :	Weisenz系统核心类库。
// ===============================================================================
// Class Name          :	HttpModule
// Class Version       :	v1.0.0.0
// Class Description   :	系统重写处理类。
// Author              :	Charles
// Create Time         :	2012/3/29 
// Update Time         :	2012/3/29 
// ===============================================================================
// Copyright © Weisenz 2012 . All rights reserved.
// ===============================================================================
using System;
using System.Web;
using System.Web.Caching;

namespace Weisenz.Core
{
    /// <summary>
    /// 系统重写处理类。
    /// </summary>
    public class HttpModule : IHttpModule
    {

        /// <summary>
        /// 初始化重写
        /// </summary>
        /// <param name="objApp">基础类对象</param>
        public void Init(HttpApplication objApp)
        {
            objApp.BeginRequest += new EventHandler(this.RewriteBeginRequest);
        }

        /// <summary>
        /// 开始获取重写数据
        /// </summary>
        /// <param name="sender">基础类对象</param>
        /// <param name="e">事件对象</param>
        private void RewriteBeginRequest(object sender, EventArgs e)
        {
            HttpApplication application = sender as HttpApplication;
            string url = Cache.GetUrl(application.Context.Request.Path);
            if (!string.IsNullOrEmpty(url))
            {
                application.Context.RewritePath(url);
            }
        }

        /// <summary>
        /// 重写注销内存
        /// </summary>
        void IHttpModule.Dispose() { }

    }
}
